package com.x.compute.core.annotation;

import com.x.compute.common.constant.VarTypeEnum;

import java.lang.annotation.*;

/**
 * 计算变量注解
 *
 * @author xuxin
 */

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
@Documented
public @interface ComputeVar {

    /**
     * 变量名称，默认变量名：{fieldName}
     * @return
     */
    String name() default "";

    /**
     * 变量值类型
     *
     * @return
     */
    VarTypeEnum type();

    /**
     * 变量描述
     * @return
     */
    String desc() default "";

    /**
     * 是否开启列求和，字段类型为数值类型是才生效，默认变量名：{tableId}_name()_sum
     */
    boolean sum() default false;

    /**
     * 是否开启列函数，默认变量名：{tableId}_name()_column
     */
    boolean column() default false;
}
